export interface InputProps {
    type: string;
    size?: 'large' | 'small';
    clearable?: boolean;
    showPassword?: boolean;
    disabled?: boolean;
    modelValue: string;
    placeholder?: string;
    readonly?: boolean;
    autofocus?: boolean;
    autocomplete?: string;
    form?: string
}

export interface InputEmits {
    (e: 'update:modelValue', value: string): void; // 为了支持 v-model
    (e: 'input', value: string): void; // input 事件指的是值的内容变化就算
    (e: 'change', value: string): void; // change 事件指的是修改了值，并且失去了focus，就会触发
    (e: 'focus', value: FocusEvent): void;
    (e: 'blur', value: FocusEvent): void;
    (e: 'clear'): void; // 自定义事件
}

export interface InputInstance {
    ref: HTMLInputElement | HTMLTextAreaElement
}